<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>fdk-aac: FDK memory macros</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">fdk-aac
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a>  </div>
  <div class="headertitle">
<div class="title">FDK memory macros</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gaa6f6d37d10ecc9adbe57eec461140ca9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#gaa6f6d37d10ecc9adbe57eec461140ca9">H_ALLOC_MEM</a>(name,  type)</td></tr>
<tr class="separator:gaa6f6d37d10ecc9adbe57eec461140ca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe2b352497d24975fe19bb91594703f6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#gafe2b352497d24975fe19bb91594703f6">H_ALLOC_MEM_OVERLAY</a>(name,  type)</td></tr>
<tr class="separator:gafe2b352497d24975fe19bb91594703f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeaf1a59335999ce7556b6b19029eadb4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#gaeaf1a59335999ce7556b6b19029eadb4">C_ALLOC_MEM</a>(name,  type,  num)</td></tr>
<tr class="separator:gaeaf1a59335999ce7556b6b19029eadb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8333b00bc27542960856646a75f894b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#ga8333b00bc27542960856646a75f894b8">C_ALLOC_MEM2</a>(name,  type,  n1,  n2)</td></tr>
<tr class="separator:ga8333b00bc27542960856646a75f894b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga91e7028d7ebcbfee51f65b0e1167747a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#ga91e7028d7ebcbfee51f65b0e1167747a">C_AALLOC_MEM</a>(name,  type,  num)</td></tr>
<tr class="separator:ga91e7028d7ebcbfee51f65b0e1167747a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57150303e82819ca4c3bcb6405988094"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#ga57150303e82819ca4c3bcb6405988094">C_AALLOC_MEM2</a>(name,  type,  n1,  n2)</td></tr>
<tr class="separator:ga57150303e82819ca4c3bcb6405988094"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d2b2fd4e4797508f77118cc6fdf2f3c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#ga7d2b2fd4e4797508f77118cc6fdf2f3c">C_ALLOC_MEM_L</a>(name,  type,  num,  s)</td></tr>
<tr class="separator:ga7d2b2fd4e4797508f77118cc6fdf2f3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa32594adfbfb073ab8cfda2a63be5e09"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#gaa32594adfbfb073ab8cfda2a63be5e09">C_ALLOC_MEM2_L</a>(name,  type,  n1,  n2,  s)</td></tr>
<tr class="separator:gaa32594adfbfb073ab8cfda2a63be5e09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae1c94f4939fc9c3044c2327c61768e9d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#gae1c94f4939fc9c3044c2327c61768e9d">C_AALLOC_MEM_L</a>(name,  type,  num,  s)</td></tr>
<tr class="separator:gae1c94f4939fc9c3044c2327c61768e9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa489ec842ca1d69bf0e2d151773b2ba2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#gaa489ec842ca1d69bf0e2d151773b2ba2">C_AALLOC_MEM2_L</a>(name,  type,  n1,  n2,  s)</td></tr>
<tr class="separator:gaa489ec842ca1d69bf0e2d151773b2ba2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe0f955d029228cd71855fac976bfc4d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#gafe0f955d029228cd71855fac976bfc4d">C_ALLOC_MEM_OVERLAY</a>(name,  type,  num,  sect,  tag)&#160;&#160;&#160;  <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#gae1c94f4939fc9c3044c2327c61768e9d">C_AALLOC_MEM_L</a>(name, type, num, sect)</td></tr>
<tr class="separator:gafe0f955d029228cd71855fac976bfc4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf38e07b8a53762b47155f3dc95ba85c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#gaf38e07b8a53762b47155f3dc95ba85c3">C_AALLOC_SCRATCH_START</a>(name,  type,  n)</td></tr>
<tr class="separator:gaf38e07b8a53762b47155f3dc95ba85c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa5d7598cdd3b2524f5688f6238469dd6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#gaa5d7598cdd3b2524f5688f6238469dd6">C_ALLOC_SCRATCH_START</a>(name,  type,  n)&#160;&#160;&#160;type name[n];</td></tr>
<tr class="separator:gaa5d7598cdd3b2524f5688f6238469dd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea343f6d374c79be35c790c6ffdc3659"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#gaea343f6d374c79be35c790c6ffdc3659">C_AALLOC_SCRATCH_END</a>(name,  type,  n)&#160;&#160;&#160;C_ALLOC_ALIGNED_UNREGISTER(name);</td></tr>
<tr class="separator:gaea343f6d374c79be35c790c6ffdc3659"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97616d270f0eb5baa8c7c3fc332f2de9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#ga97616d270f0eb5baa8c7c3fc332f2de9">C_ALLOC_SCRATCH_END</a>(name,  type,  n)</td></tr>
<tr class="separator:ga97616d270f0eb5baa8c7c3fc332f2de9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaca049cc9d95d10e089ade784ba84773a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#gaca049cc9d95d10e089ade784ba84773a">C_AALLOC_STACK_START</a>(name,  type,  n)</td></tr>
<tr class="separator:gaca049cc9d95d10e089ade784ba84773a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga49ec80251fa6065c92760cca8c17af03"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#ga49ec80251fa6065c92760cca8c17af03">C_AALLOC_STACK_END</a>(name,  type,  n)&#160;&#160;&#160;C_ALLOC_ALIGNED_UNREGISTER(name);</td></tr>
<tr class="separator:ga49ec80251fa6065c92760cca8c17af03"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>The <code>H_</code> prefix indicates that the macro is to be used in a header file, the <code>C_</code> prefix indicates that the macro is to be used in a source file.</p>
<p>Declaring memory areas requires to specify a unique name and a data type.</p>
<p>For defining a memory area you require additionally one or two sizes, depending if the memory should be organized into one or two dimensions.</p>
<p>The macros containing the keyword <code>AALLOC</code> instead of <code>ALLOC</code> additionally take care of returning aligned memory addresses (beyond the natural alignment of its type). The preprocesor macro <a class="el" href="machine__type_8h.html#a18ae9297b2fd26190c68937e09c5bc6b">ALIGNMENT_DEFAULT</a> indicates the aligment to be used (this is hardware specific).</p>
<p>The <code>_L</code> suffix indicates that the memory will be located in a specific section. This is useful to allocate critical memory section into fast internal SRAM for example. </p>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga91e7028d7ebcbfee51f65b0e1167747a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga91e7028d7ebcbfee51f65b0e1167747a">&#9670;&nbsp;</a></span>C_AALLOC_MEM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_AALLOC_MEM</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">num&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">  type *Get##name(<span class="keywordtype">int</span> n) {                                             \</div>
<div class="line">    type *ap;                                                          \</div>
<div class="line">    FDK_ASSERT((n) == 0);                                              \</div>
<div class="line">    ap = ((type *)<a class="code" href="generic_stds_8h.html#aee1382fb1df2f9fe529965dead9993c8">FDKaalloc</a>((num) * <span class="keyword">sizeof</span>(type), <a class="code" href="machine__type_8h.html#a18ae9297b2fd26190c68937e09c5bc6b">ALIGNMENT_DEFAULT</a>)); \</div>
<div class="line">    return ap;                                                         \</div>
<div class="line">  }                                                                    \</div>
<div class="line">  void Free##name(type **p) {                                          \</div>
<div class="line">    if (p != NULL) {                                                   \</div>
<div class="line">      FDKafree(*p);                                                    \</div>
<div class="line">      *p = NULL;                                                       \</div>
<div class="line">    }                                                                  \</div>
<div class="line">  }                                                                    \</div>
<div class="line">  UINT GetRequiredMem##name(<span class="keywordtype">void</span>) {                                    \</div>
<div class="line">    return ALGN_SIZE_EXTRES((num) * <span class="keyword">sizeof</span>(type) + <a class="code" href="machine__type_8h.html#a18ae9297b2fd26190c68937e09c5bc6b">ALIGNMENT_DEFAULT</a> + \</div>
<div class="line">                            <span class="keyword">sizeof</span>(<span class="keywordtype">void</span> *));                           \</div>
<div class="line">  }</div>
<div class="ttc" id="ageneric_stds_8h_html_aee1382fb1df2f9fe529965dead9993c8"><div class="ttname"><a href="generic_stds_8h.html#aee1382fb1df2f9fe529965dead9993c8">FDKaalloc</a></div><div class="ttdeci">void * FDKaalloc(const UINT size, const UINT alignment)</div><div class="ttdef"><b>Definition:</b> genericStds.cpp:210</div></div>
<div class="ttc" id="amachine__type_8h_html_a18ae9297b2fd26190c68937e09c5bc6b"><div class="ttname"><a href="machine__type_8h.html#a18ae9297b2fd26190c68937e09c5bc6b">ALIGNMENT_DEFAULT</a></div><div class="ttdeci">#define ALIGNMENT_DEFAULT</div><div class="ttdef"><b>Definition:</b> machine_type.h:256</div></div>
</div><!-- fragment --><p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="ga57150303e82819ca4c3bcb6405988094"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga57150303e82819ca4c3bcb6405988094">&#9670;&nbsp;</a></span>C_AALLOC_MEM2</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_AALLOC_MEM2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n2&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">  type *Get##name(<span class="keywordtype">int</span> n) {                                            \</div>
<div class="line">    type *ap;                                                         \</div>
<div class="line">    FDK_ASSERT((n) &lt; (n2));                                           \</div>
<div class="line">    ap = ((type *)<a class="code" href="generic_stds_8h.html#aee1382fb1df2f9fe529965dead9993c8">FDKaalloc</a>((n1) * <span class="keyword">sizeof</span>(type), <a class="code" href="machine__type_8h.html#a18ae9297b2fd26190c68937e09c5bc6b">ALIGNMENT_DEFAULT</a>)); \</div>
<div class="line">    return ap;                                                        \</div>
<div class="line">  }                                                                   \</div>
<div class="line">  void Free##name(type **p) {                                         \</div>
<div class="line">    if (p != NULL) {                                                  \</div>
<div class="line">      FDKafree(*p);                                                   \</div>
<div class="line">      *p = NULL;                                                      \</div>
<div class="line">    }                                                                 \</div>
<div class="line">  }                                                                   \</div>
<div class="line">  UINT GetRequiredMem##name(<span class="keywordtype">void</span>) {                                   \</div>
<div class="line">    return ALGN_SIZE_EXTRES((n1) * <span class="keyword">sizeof</span>(type) + <a class="code" href="machine__type_8h.html#a18ae9297b2fd26190c68937e09c5bc6b">ALIGNMENT_DEFAULT</a> + \</div>
<div class="line">                            <span class="keyword">sizeof</span>(<span class="keywordtype">void</span> *)) *                         \</div>
<div class="line">           (n2);                                                      \</div>
<div class="line">  }</div>
</div><!-- fragment --><p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="gaa489ec842ca1d69bf0e2d151773b2ba2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa489ec842ca1d69bf0e2d151773b2ba2">&#9670;&nbsp;</a></span>C_AALLOC_MEM2_L</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_AALLOC_MEM2_L</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n2, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">s&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">  type *Get##name(<span class="keywordtype">int</span> n) {                                                 \</div>
<div class="line">    type *ap;                                                              \</div>
<div class="line">    FDK_ASSERT((n) &lt; (n2));                                                \</div>
<div class="line">    ap = ((type *)<a class="code" href="generic_stds_8h.html#ae2c513bfecf0b6ba5127546f89b81875">FDKaalloc_L</a>((n1) * <span class="keyword">sizeof</span>(type), <a class="code" href="machine__type_8h.html#a18ae9297b2fd26190c68937e09c5bc6b">ALIGNMENT_DEFAULT</a>, s)); \</div>
<div class="line">    return ap;                                                             \</div>
<div class="line">  }                                                                        \</div>
<div class="line">  void Free##name(type **p) {                                              \</div>
<div class="line">    if (p != NULL) {                                                       \</div>
<div class="line">      FDKafree_L(*p);                                                      \</div>
<div class="line">      *p = NULL;                                                           \</div>
<div class="line">    }                                                                      \</div>
<div class="line">  }                                                                        \</div>
<div class="line">  UINT GetRequiredMem##name(<span class="keywordtype">void</span>) {                                        \</div>
<div class="line">    return ALGN_SIZE_EXTRES((n1) * <span class="keyword">sizeof</span>(type) + <a class="code" href="machine__type_8h.html#a18ae9297b2fd26190c68937e09c5bc6b">ALIGNMENT_DEFAULT</a> +      \</div>
<div class="line">                            <span class="keyword">sizeof</span>(<span class="keywordtype">void</span> *)) *                              \</div>
<div class="line">           (n2);                                                           \</div>
<div class="line">  }</div>
<div class="ttc" id="ageneric_stds_8h_html_ae2c513bfecf0b6ba5127546f89b81875"><div class="ttname"><a href="generic_stds_8h.html#ae2c513bfecf0b6ba5127546f89b81875">FDKaalloc_L</a></div><div class="ttdeci">void * FDKaalloc_L(const UINT size, const UINT alignment, MEMORY_SECTION s)</div><div class="ttdef"><b>Definition:</b> genericStds.cpp:247</div></div>
</div><!-- fragment --><p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="gae1c94f4939fc9c3044c2327c61768e9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae1c94f4939fc9c3044c2327c61768e9d">&#9670;&nbsp;</a></span>C_AALLOC_MEM_L</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_AALLOC_MEM_L</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">num, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">s&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">  type *Get##name(<span class="keywordtype">int</span> n) {                                                  \</div>
<div class="line">    type *ap;                                                               \</div>
<div class="line">    FDK_ASSERT((n) == 0);                                                   \</div>
<div class="line">    ap = ((type *)<a class="code" href="generic_stds_8h.html#ae2c513bfecf0b6ba5127546f89b81875">FDKaalloc_L</a>((num) * <span class="keyword">sizeof</span>(type), <a class="code" href="machine__type_8h.html#a18ae9297b2fd26190c68937e09c5bc6b">ALIGNMENT_DEFAULT</a>, s)); \</div>
<div class="line">    return ap;                                                              \</div>
<div class="line">  }                                                                         \</div>
<div class="line">  void Free##name(type **p) {                                               \</div>
<div class="line">    if (p != NULL) {                                                        \</div>
<div class="line">      FDKafree_L(*p);                                                       \</div>
<div class="line">      *p = NULL;                                                            \</div>
<div class="line">    }                                                                       \</div>
<div class="line">  }                                                                         \</div>
<div class="line">  UINT GetRequiredMem##name(<span class="keywordtype">void</span>) {                                         \</div>
<div class="line">    return ALGN_SIZE_EXTRES((num) * <span class="keyword">sizeof</span>(type) + <a class="code" href="machine__type_8h.html#a18ae9297b2fd26190c68937e09c5bc6b">ALIGNMENT_DEFAULT</a> +      \</div>
<div class="line">                            <span class="keyword">sizeof</span>(<span class="keywordtype">void</span> *));                                \</div>
<div class="line">  }</div>
</div><!-- fragment --><p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="gaea343f6d374c79be35c790c6ffdc3659"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaea343f6d374c79be35c790c6ffdc3659">&#9670;&nbsp;</a></span>C_AALLOC_SCRATCH_END</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_AALLOC_SCRATCH_END</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;C_ALLOC_ALIGNED_UNREGISTER(name);</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="gaf38e07b8a53762b47155f3dc95ba85c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf38e07b8a53762b47155f3dc95ba85c3">&#9670;&nbsp;</a></span>C_AALLOC_SCRATCH_START</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_AALLOC_SCRATCH_START</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">  type _##name[(n) + (<a class="code" href="machine__type_8h.html#a18ae9297b2fd26190c68937e09c5bc6b">ALIGNMENT_DEFAULT</a> + <span class="keyword">sizeof</span>(type) - 1)]; \</div>
<div class="line">  type *name = (type *)<a class="code" href="machine__type_8h.html#a64d0e6f4ebce950ccfbbcb776f66061c">ALIGN_PTR</a>(_##name);                    \</div>
<div class="line">  C_ALLOC_ALIGNED_REGISTER(name, (n) * <span class="keyword">sizeof</span>(type));</div>
<div class="ttc" id="amachine__type_8h_html_a64d0e6f4ebce950ccfbbcb776f66061c"><div class="ttname"><a href="machine__type_8h.html#a64d0e6f4ebce950ccfbbcb776f66061c">ALIGN_PTR</a></div><div class="ttdeci">#define ALIGN_PTR(a)</div><div class="ttdoc">This macro aligns a given address depending on ALIGNMENT_DEFAULT.</div><div class="ttdef"><b>Definition:</b> machine_type.h:311</div></div>
</div><!-- fragment --><p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="ga49ec80251fa6065c92760cca8c17af03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga49ec80251fa6065c92760cca8c17af03">&#9670;&nbsp;</a></span>C_AALLOC_STACK_END</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_AALLOC_STACK_END</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;C_ALLOC_ALIGNED_UNREGISTER(name);</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="gaca049cc9d95d10e089ade784ba84773a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaca049cc9d95d10e089ade784ba84773a">&#9670;&nbsp;</a></span>C_AALLOC_STACK_START</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_AALLOC_STACK_START</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">  type _##name[(n) + (<a class="code" href="machine__type_8h.html#a18ae9297b2fd26190c68937e09c5bc6b">ALIGNMENT_DEFAULT</a> + <span class="keyword">sizeof</span>(type) - 1)]; \</div>
<div class="line">  type *name = (type *)<a class="code" href="machine__type_8h.html#a64d0e6f4ebce950ccfbbcb776f66061c">ALIGN_PTR</a>(_##name);                    \</div>
<div class="line">  C_ALLOC_ALIGNED_REGISTER(name, (n) * <span class="keyword">sizeof</span>(type));</div>
</div><!-- fragment --><p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="gaeaf1a59335999ce7556b6b19029eadb4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeaf1a59335999ce7556b6b19029eadb4">&#9670;&nbsp;</a></span>C_ALLOC_MEM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_ALLOC_MEM</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">num&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">  type *Get##name(<span class="keywordtype">int</span> n) {                         \</div>
<div class="line">    FDK_ASSERT((n) == 0);                          \</div>
<div class="line">    return ((type *)FDKcalloc(num, <span class="keyword">sizeof</span>(type))); \</div>
<div class="line">  }                                                \</div>
<div class="line">  void Free##name(type **p) {                      \</div>
<div class="line">    if (p != NULL) {                               \</div>
<div class="line">      FDKfree(*p);                                 \</div>
<div class="line">      *p = NULL;                                   \</div>
<div class="line">    }                                              \</div>
<div class="line">  }                                                \</div>
<div class="line">  UINT GetRequiredMem##name(<span class="keywordtype">void</span>) {                \</div>
<div class="line">    return ALGN_SIZE_EXTRES((num) * <span class="keyword">sizeof</span>(type)); \</div>
<div class="line">  }</div>
</div><!-- fragment --><p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="ga8333b00bc27542960856646a75f894b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8333b00bc27542960856646a75f894b8">&#9670;&nbsp;</a></span>C_ALLOC_MEM2</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_ALLOC_MEM2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n2&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">  type *Get##name(<span class="keywordtype">int</span> n) {                               \</div>
<div class="line">    FDK_ASSERT((n) &lt; (n2));                              \</div>
<div class="line">    return ((type *)FDKcalloc(n1, <span class="keyword">sizeof</span>(type)));        \</div>
<div class="line">  }                                                      \</div>
<div class="line">  void Free##name(type **p) {                            \</div>
<div class="line">    if (p != NULL) {                                     \</div>
<div class="line">      FDKfree(*p);                                       \</div>
<div class="line">      *p = NULL;                                         \</div>
<div class="line">    }                                                    \</div>
<div class="line">  }                                                      \</div>
<div class="line">  UINT GetRequiredMem##name(<span class="keywordtype">void</span>) {                      \</div>
<div class="line">    return ALGN_SIZE_EXTRES((n1) * <span class="keyword">sizeof</span>(type)) * (n2); \</div>
<div class="line">  }</div>
</div><!-- fragment --><p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="gaa32594adfbfb073ab8cfda2a63be5e09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa32594adfbfb073ab8cfda2a63be5e09">&#9670;&nbsp;</a></span>C_ALLOC_MEM2_L</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_ALLOC_MEM2_L</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n2, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">s&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">  type *Get##name(<span class="keywordtype">int</span> n) {                               \</div>
<div class="line">    FDK_ASSERT((n) &lt; (n2));                              \</div>
<div class="line">    return (type *)<a class="code" href="generic_stds_8h.html#aeb159db8951a3c01b398e8bb9049a63c">FDKcalloc_L</a>(n1, <span class="keyword">sizeof</span>(type), s);     \</div>
<div class="line">  }                                                      \</div>
<div class="line">  void Free##name(type **p) {                            \</div>
<div class="line">    if (p != NULL) {                                     \</div>
<div class="line">      FDKfree_L(*p);                                     \</div>
<div class="line">      *p = NULL;                                         \</div>
<div class="line">    }                                                    \</div>
<div class="line">  }                                                      \</div>
<div class="line">  UINT GetRequiredMem##name(<span class="keywordtype">void</span>) {                      \</div>
<div class="line">    return ALGN_SIZE_EXTRES((n1) * <span class="keyword">sizeof</span>(type)) * (n2); \</div>
<div class="line">  }</div>
<div class="ttc" id="ageneric_stds_8h_html_aeb159db8951a3c01b398e8bb9049a63c"><div class="ttname"><a href="generic_stds_8h.html#aeb159db8951a3c01b398e8bb9049a63c">FDKcalloc_L</a></div><div class="ttdeci">void * FDKcalloc_L(const UINT n, const UINT size, MEMORY_SECTION s)</div><div class="ttdef"><b>Definition:</b> genericStds.cpp:241</div></div>
</div><!-- fragment --><p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="ga7d2b2fd4e4797508f77118cc6fdf2f3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7d2b2fd4e4797508f77118cc6fdf2f3c">&#9670;&nbsp;</a></span>C_ALLOC_MEM_L</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_ALLOC_MEM_L</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">num, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">s&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">  type *Get##name(<span class="keywordtype">int</span> n) {                              \</div>
<div class="line">    FDK_ASSERT((n) == 0);                               \</div>
<div class="line">    return ((type *)<a class="code" href="generic_stds_8h.html#aeb159db8951a3c01b398e8bb9049a63c">FDKcalloc_L</a>(num, <span class="keyword">sizeof</span>(type), s)); \</div>
<div class="line">  }                                                     \</div>
<div class="line">  void Free##name(type **p) {                           \</div>
<div class="line">    if (p != NULL) {                                    \</div>
<div class="line">      FDKfree_L(*p);                                    \</div>
<div class="line">      *p = NULL;                                        \</div>
<div class="line">    }                                                   \</div>
<div class="line">  }                                                     \</div>
<div class="line">  UINT GetRequiredMem##name(<span class="keywordtype">void</span>) {                     \</div>
<div class="line">    return ALGN_SIZE_EXTRES((num) * <span class="keyword">sizeof</span>(type));      \</div>
<div class="line">  }</div>
</div><!-- fragment --><p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="gafe0f955d029228cd71855fac976bfc4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafe0f955d029228cd71855fac976bfc4d">&#9670;&nbsp;</a></span>C_ALLOC_MEM_OVERLAY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_ALLOC_MEM_OVERLAY</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">num, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">sect, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tag&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;  <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html#gae1c94f4939fc9c3044c2327c61768e9d">C_AALLOC_MEM_L</a>(name, type, num, sect)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="ga97616d270f0eb5baa8c7c3fc332f2de9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga97616d270f0eb5baa8c7c3fc332f2de9">&#9670;&nbsp;</a></span>C_ALLOC_SCRATCH_END</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_ALLOC_SCRATCH_END</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="gaa5d7598cdd3b2524f5688f6238469dd6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa5d7598cdd3b2524f5688f6238469dd6">&#9670;&nbsp;</a></span>C_ALLOC_SCRATCH_START</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_ALLOC_SCRATCH_START</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;type name[n];</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="gaa6f6d37d10ecc9adbe57eec461140ca9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa6f6d37d10ecc9adbe57eec461140ca9">&#9670;&nbsp;</a></span>H_ALLOC_MEM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define H_ALLOC_MEM</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">  type *Get##name(<span class="keywordtype">int</span> n = 0);   \</div>
<div class="line">  void Free##name(type **p);    \</div>
<div class="line">  UINT GetRequiredMem##name(<span class="keywordtype">void</span>);</div>
</div><!-- fragment --><p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
<a id="gafe2b352497d24975fe19bb91594703f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafe2b352497d24975fe19bb91594703f6">&#9670;&nbsp;</a></span>H_ALLOC_MEM_OVERLAY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define H_ALLOC_MEM_OVERLAY</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">  type *Get##name(<span class="keywordtype">int</span> n = 0);           \</div>
<div class="line">  void Free##name(type **p);            \</div>
<div class="line">  UINT GetRequiredMem##name(<span class="keywordtype">void</span>);</div>
</div><!-- fragment --><p>See <a class="el" href="group___s_y_s_l_i_b___m_e_m_o_r_y___m_a_c_r_o_s.html">FDK memory macros</a> for description. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
